package com.example.keepserver.service;

import com.example.keepserver.dto.ActivityDTO;
import com.example.keepserver.dto.PlatformStatsDTO;
import com.example.keepserver.dto.UserTypeDistributionDTO;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

public interface ActivityService {
    
    List<ActivityDTO> getActivitiesByUserId(String userId, LocalDateTime startDate, LocalDateTime endDate);
    
    List<ActivityDTO> getAllActivities(LocalDateTime startDate, LocalDateTime endDate);
    
    Map<String, Object> getActivityStatsByUser(String userId, LocalDateTime startDate, LocalDateTime endDate);
    
    Map<String, Object> getActivityTimeTrend(String userId, LocalDateTime startDate, LocalDateTime endDate);
    
    Map<String, Object> getTrainingIntensity(String userId, LocalDateTime startDate, LocalDateTime endDate);
    
    Map<String, Object> getActivityLocations(String userId, LocalDateTime startDate, LocalDateTime endDate);
    
    List<UserTypeDistributionDTO> getUserTypeDistribution(LocalDateTime startDate, LocalDateTime endDate);
    
    PlatformStatsDTO getPlatformStats(LocalDateTime startDate, LocalDateTime endDate);
}
